﻿Imports Clases
Public Class frmRegistro
    ''' <summary>
    ''' Cargamos los eventos al inicio del formulario
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub Registro_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        AddHandler misClientes.ContraseñaErroneaDebil, AddressOf miPersona_ContraseñaErronea
        AddHandler misClientes.PersonaIncorrecta, AddressOf miPersona_PersonaIncorrecta
        AddHandler misClientes.ContraseñaErroneaNula, AddressOf miPersona_ContraseñaNula
    End Sub
    ''' <summary>
    ''' Botón para añadir un nuevo cliente
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles btnRegistro.Click
        Me.ErrorProvider1.Clear()
        If txtNombre.Text = "" Then
            Me.ErrorProvider1.SetError(txtNombre, "Introduzaca un nombre")
        Else
            Me.ErrorProvider1.SetError(txtNombre, "")
        End If
        If txtContra1.Text = "" Then
            Me.ErrorProvider1.SetError(txtContra1, "Introduzca una contraseña")
        Else
            Me.ErrorProvider1.SetError(txtContra1, "")
        End If
        If txtContra2.Text = "" Then
            Me.ErrorProvider1.SetError(txtContra2, "Introduzca de nuevo una contraseña")
        Else
            Me.ErrorProvider1.SetError(txtContra2, "")
        End If
        If txtEmail.Text = "" Then
            Me.ErrorProvider1.SetError(txtEmail, "Introduzca un correo electrónico")
        Else
            Me.ErrorProvider1.SetError(txtEmail, "")
        End If
        If txtTarjeta.Text = "" Then
            Me.ErrorProvider1.SetError(txtTarjeta, "Introduzca un número de tarjeta de credito")
        Else
            Me.ErrorProvider1.SetError(txtTarjeta, "")
        End If
        If txtFechaCad.Text = "" Then
            Me.ErrorProvider1.SetError(txtFechaCad, "Introduzca una fecha de caducidad")
        Else
            Me.ErrorProvider1.SetError(txtFechaCad, "")
        End If
        If txtContra1.Text <> txtContra2.Text Then
            MessageBox.Show("Las contraseñas no coinciden, por favor vuelva a introducirlas", "ATENCIÓN")
        End If
        If txtNombre.Text <> "" AndAlso txtContra1.Text <> "" AndAlso txtContra2.Text <> "" AndAlso txtEmail.Text <> "" AndAlso txtTarjeta.Text <> "" AndAlso txtFechaCad.Text <> "" AndAlso txtContra1.Text = txtContra2.Text Then
            Dim nuevoCliente As New Cliente(txtNombre.Text, txtContra1.Text, txtEmail.Text, txtTarjeta.Text, txtFechaCad.Text)
            Dim men As String = misClientes.Añadir(nuevoCliente)
            If men <> "" Then
                MessageBox.Show(men, "ATENCIÓN")
            End If
        End If

    End Sub
    ''' <summary>
    ''' Evento para decir si es debil la contraseña
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub miPersona_ContraseñaErronea(sender As Object, e As EventArgs)
        txtFuerzaPass.BackColor = Color.Coral
        txtFuerzaPass.Text = "Debil"
    End Sub
    ''' <summary>
    ''' Limpiar txtFuerzaPass
    ''' </summary>
    ''' <remarks></remarks>
    Private Sub limpiarTxtFuerzaPass()
        txtFuerzaPass.BackColor = Color.Empty
        txtFuerzaPass.Text = ""
    End Sub
    ''' <summary>
    ''' Evento cuando no se ha podido agregar un cliente (algun campo nulo)
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub miPersona_PersonaIncorrecta(sender As Object, e As EventArgs)
        MessageBox.Show("Por favor revise todos los campos. No se puede registrar", "ATENCIÓN")
    End Sub
    ''' <summary>
    ''' Evento contraseña incorrecta
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub miPersona_ContraseñaNula(sender As Object, e As EventArgs)
        Me.ErrorProvider1.SetError(txtContra1, "Introduzca una contraseña de mínimo 8 caracteres")
        Me.ErrorProvider1.SetError(txtContra2, "Introduzca una contraseña de mínimo 8 caracteres")
    End Sub

    
End Class